service: TypeScript.Services.ILanguageService;
scripts: { [fullPath: string]: TypeScriptService.Script; } = {}; log: { logLevel: string; text: string; }[] = null; private _logLevel: string = null;
var factory = new TypeScript.Services.TypeScriptServicesFactory();
this.service = factory.createPullLanguageService(this._createLanguageServiceHost());
private _createLanguageServiceHost() { getCompilationSettings: () => this.compilationSettings,
getScriptFileNames: () => { var result = Object.keys(this.scripts).filter(k => this.scripts.hasOwnProperty(k)).sort();
getScriptVersion: (fileName: string) => { var script = this.scripts[fileName];
return script.changes().length;
getScriptIsOpen: (fileName: string) => { getScriptByteOrderMark: (fileName: string) => TypeScript.ByteOrderMark.None,
getScriptSnapshot: (fileName: string) => { var script = this.scripts[fileName];
var snapshot = <TypeScriptDocumentSnapshot>script._cachedSnapshot;
if (!snapshot || (script.changes && snapshot.version < script.changes().length)) { snapshot = new TypeScriptDocumentSnapshot(script);
getDiagnosticsObject: () => { return { log: (text: string) => this._log(text) }; getLocalizedDiagnosticMessages: () => null,
this._logLevel = 'information';
return this.logLevels.information;
this._logLevel = 'debug';
return this.logLevels.debug;
this._logLevel = 'warning';
return this.logLevels.warning;
this._logLevel = 'error';
return this.logLevels.error;
this._logLevel = 'fatal';
return this.logLevels.fatal;
log: (text: string) => this._log(text),
resolveRelativePath: (path: string) => { fileExists: (path: string) => { return this.scripts[path] ? true : false;
directoryExists: (path: string) => true,
getParentDirectory: (path: string) => {